package com.asman.vr.dto

import androidx.annotation.Keep
import java.io.Serializable

@Keep
data class StageTaskData(
    val tasks: List<Task>?,
    val currentStageSerial: Int?, //当前阶段
    val stageSerial: Int?,
    val total: Long?,
    val totalAux: Int?,
    val totalLabour: Int?,
    val totalSoft: Int?,
    val totalMain: Int?,
    val paymentId: Long?, //支付单ID
    val needPay: Long?, //还需付
    val payButtonText: String?,//支付按钮文案
    val payButtonEnable: Boolean?,//支付按钮状态 true-不置灰  false-置灰

    val stageCoupon: Long?,//阶段优惠
    val hasPay: Long?//阶段已付
)

@Keep
data class Task(
    val tempProFee: TempProFee?, //临时保护费用项
    val auxAndMachineFee: AuxAndMachineFee?,
    val labourFee: Int?,
    val mainItemFee: MainItemFee?,
    val softFee: SoftFee?,
    val taskId: Long?,
    val taskName: String?,
    val total: Int?,//总价
    val startDate: String?,
    val finishDate: String?,
    var progressDays: Int?,//任务计划总天数
    var taskStatus: Int?,//施工状态，0：未开工，1：施工中，2：已完工
    var hasWorkedDays: Int?,//已经施工天数

    //进度--新的字段
    var rateColor: Int?,//进度颜色 1白色 2红色 3蓝色 1白色进行中 2红色延期 3蓝色提前
    var delay: Int?,//延期 提前 天数
    val taskRate: Int? //任务进度，万分之
)

@Keep
data class TempProFee(val items: List<Item>?, val total: Int?) : Serializable {
    @Keep
    data class Item(
        val auxAndMachineFee: Int?,
        val itemFee: Int?,
        val labourFee: Int?,
        val name: String?,
        val projectUnit: String?,
        val quantity: String?
    ) : Serializable
}

@Keep
data class AuxAndMachineFee(
    val auxFee: Int?, val machineFee: Int?, val remark: String?, val total: Int?
)

@Keep
data class MainItemFee(val items: List<GoodsItem>?, val number: Int?, val total: Int?)

@Keep
data class SoftFee(
    val number: Int?,
    val send: Int?,
    val softGoods: Int?,
    val softItems: List<GoodsItem>?,
    val total: Int?
)

@Keep
data class GoodsItem(
    val itemNumber: Int?,
    val pic: String?,
    val name: String?,
    val price: Int?,
    val projectUnit: String?,
    val total: Int?
) : Serializable
